Computers of various sorts have become an indispensable equipment of modern civilization. Intel x86 (original architecture designed by Intel Corp. of Santa Clara, Calif. and evolved into the latest 64-bit CISC architecture by Advanced Micro Devices, Inc. of Sunnyvale, Calif.) has long dominated mainstream computing. Meanwhile, the world of non-x86 computing of commercial significance is currently dominated by the ARM processor (of the RISC ARM architecture developed by the ARM Holdings plc of Cambridge, United Kingdom) in mobile computing devices that include smart phones and touch-screen devices. From the perspective of green computing, problems of both x86 and non-x86 computing are as follows.
There is the need for green computing to cut x86 desktop idling power consumption. x86 computing is good for applications requiring computing power. With a global installation base of hundreds of millions of home and office desktop and portable computers, professional high-performance workstation computers, and server computers for various net-based commerce, computing energy consumption has become an environmental issue. One of the main issues is with computing idling—times when a computer is not used but not shut down.
There are power reduction efforts such as the Energy Star, an international standard originated in the United States and adopted by many other countries that achieve some level of computing power saving. The x86-based mainstream computer industry also has standard power management. For example, the Advanced Configuration and Power Interface (ACPI), an open industry standard, allows an operating system to implement direct control of the power-saving features of the computer hardware.
However, it is frequently difficult for x86-based mainstream desktops and laptops to achieve real green operation for most users due to inconvenience and limited power management built in. For many computer users, the sleep/stand-by/hibernation power management modes of the ACPI may be complicated to comprehend less finding a way to adjust for a best parameter setting for a computer to be both convenient to use and power-saving. Meanwhile, for more sophisticated computing such as that involving multiple sessions of virtual computing, instead of a smooth power management, ACPI is more prone to either crashing the computer or having difficulty in dealing with the VM sessions.
Thus, there is plenty of room for significant energy conservation by desktops due to their huge number.
There is the need for green computing to make x86-based smart mobile device practical. Also because of the imperfection of the available power management technology in the standard x86 world, x86-based smart personal devices (for example, x86-based cell phones) have so short battery life to be practical. In fact, no rigorous commercial x86-based smart phone is in existence. Most x86-based laptop computers have problem sustaining one whole hard-working day on battery out on the road. The result is the inconvenience of x86 application software access when out of office or home.
There is the need for non-x86 device to access x86 software base. The ARM processor has been developed for power-conserving applications necessary for mobile, especially smart phone applications. But, it is just not for serious computational applications. And essentially it has no practical direct access to the x86 software base. As Windows software remains to be the dominant in many aspects of daily life and business, non-x86's difficulty in access to x86 applications spells an inconvenience. Users either out on the road or in office need to have both hardware at hand to be able to have access to both the ARM-dominant mobile and x86-dominant Windows applications.
There is the need for a cross-OS computer system for simultaneous, integrated and seamless access to mixed applications. As the access to both x86 Windows and ARM smart phone applications become more a daily necessity for many, the need for a computer device that provides simultaneous access to both becomes real. Current x86-based architecture (and some other non-x86) allows for the execution of Windows and non-Windows software applications simultaneously on the same computer hardware through virtual computing technology. For example, an x86 computer can have either a Linux, a Windows or other host operating system that supports a number of guest virtual computers each running one of a different number of the supported operating systems. However, the emulation by the host processor of the instruction sets of other non-x86 guest OS consumes processing power. While this is acceptable for desktops, it is not for smart mobile devices for the obvious reason of battery life.
In an attempt to combine the functionalities of cell phone and a personal computer among other devices, Cupps et al. disclose an electronic device in a series of U.S. Patents and Applications that combines the hardware of an x86-based architecture and an ARM processor-based embedded system. For example, in US2002/0173344 “Novel personal electronic device,” Cupps et al. describe a device that uses a low-powered system processor such as an ARM to serve as the system controller of the entire device that is essentially an x86-based computer.
The Cupps et al. electronic device is one that essentially has a cell phone-capable embedded ARM processor inserted into an x86 computer having its own PC processor. The ARM is connected to the North and South Bridges of the x86 architecture in the same way the original PC processor does. Cupps et al. describe that the low-power ARM system processor is thus able to act as the master processor—on top of the performance PC processor of the basic x86 architecture—of the electronic device.
However, by placing the ARM processor on the high-speed buses (PCI-e) of the North Bridge the same way as the display controller and the memory subsystems of the x86 architecture, the Cupps et al. device has limited “master control” over the entire device. In fact, rather than the supreme master processor of the entire electronic device, the bus connection of the ARM processor in the device categorizes itself as a bus master device under the standard x86 architecture. With this system architecture, because the main x86 architecture under the PC processor must maintain a complete and sound power management status under, for example, ACPI, any slightest disruption to breach the integrity of this status results in the lost of data and the need for a complete reboot. Most frequently, the ARM processor in the Cupps et al. device will be rebooting the PC processor-based main x86 system for whichever heavier tasks that call for the processing power of the PC processor.
There is therefore the need for a super operating system that runs a heterogeneous computer system to implement best minimization of the computing power consumption without sacrificing the computing capability to make a green x86 computer.
There is also the need for a super operating system that runs a heterogeneous computer system to implement best minimization of the computing power consumption to make a practical x86-based smart mobile device by sustaining at least one workday on battery per battery charging.
There is also the need for a super operating system that runs a heterogeneous computer system to make a non-x86 smart mobile device capable of access to the x86 software base.
This is also the need for a super operating system that runs a cross-OS heterogeneous computer system to provide simultaneous, integrated and seamless access to software applications of different OS's.